#pragma once

#include "inc.h"
#include "util/mat4.h"
#include "util/vec4.h"

namespace GLC {

class ClientState
{
public:
    static void loadModelView(const mat4d &matrix);
    static void loadProjection(const mat4d &matrix);
    static void resetViewport(int x, int y, unsigned width, unsigned height);

    static void getModelView(mat4d &matrix);
    static void getProjection(mat4d &matrix);
    static void getViewport(int destination[4]);

private:
    ClientState();
    ~ClientState();
};

} // namespace GLC
